دالة SORT في Excel
دوال البحث والمراجع / دوال المصفوفة الديناميكية
الغرض من الدالة
دالة SORT هي الحل السريع والفعال لفرز أي نطاق من البيانات أو مصفوفة. بدلاً من استخدام أدوات الفرز اليدوية، تتيح لك هذه الدالة فرز بياناتك ديناميكياً، مع إمكانية تحديد ترتيب الفرز (تصاعدي أو تنازلي) والعمود الذي تريد الفرز بناءً عليه إذا كنت تتعامل مع جدول.
افتراضياً, تقوم الدالة بترتيب الصفوف, أي إذا كان لديك عمود مثلاً فإنها تعيد ترتيب صفوفه.
صيغة الدالة (Syntax)
- array: النطاق أو المصفوفة التي ترغب في فرزها.
- [sort_index]: (اختياري) رقم يمثل فهرس الصف أو العمود الذي تريد الفرز بناءً عليه. إذا كان النطاق عموداً واحداً، لا تحتاج لتحديده. إذا كان جدولاً، يمكنك تحديد رقم العمود (مثلاً:
1للعمود الأول،2للعمود الثاني). أي يتم ترتيب صفوف الجدول (افتراضي) وفقاً للعمود المحدد. - [sort_order]: (اختياري) رقم يحدد ترتيب الفرز:
1لفرز تصاعدي (من الأصغر للأكبر أو من أ إلى ي)، و-1لفرز تنازلي (من الأكبر للأصغر أو من ي إلى أ). القيمة الافتراضية هي1. - [by_col]: (اختياري) قيمة منطقية. إذا كانت
TRUE، سيتم الفرز حسب العمود (اعادة ترتيب الأعمدة). وهنا إذا حددت قيمة لـ sort_index فإن هذه القيمة تعني رقم الصف الذي تريد ترتيب الأعمدة وفقاً له. إذا كانتFALSE(الافتراضي)، سيتم الفرز حسب الصف (إعادة ترتيب الصفوف).
تكون sort_index افتراضيا 1 وتمثل رقم العمود إذا كانت by_cal ذات قيمة FALSE افتراضية.
تكون sort_index افتراضيا 1 وتمثل رقم الصف إذا كانت by_cal ذات قيمة TRUE.
أمثلة عملية
المثال 1: فرز الأرقام تصاعدياً
لدينا قائمة من الأرقام العشوائية في العمود A ونريد ترتيبها من الأصغر إلى الأكبر.
| A | B | |
|---|---|---|
| 1 | البيانات | النتيجة |
| 2 | 2 | 1 |
| 3 | 8 | |
| 4 | 1 |
الصيغة المستخدمة:
=SORT(A2:A4)
توضيح:
الدالة قامت بفرز الأرقام في النطاق A2:A4 تصاعدياً (الترتيب الافتراضي).
وبشكل أدق يمكننا القول إن الدالة قامت بترتيب الصفوف (الترتيب الافتراضي للصفوف لأن by_colافتراضياً هو FALSE)
المثال 2: ترتيب صفوف مصفوفة تنازلياً وفقاً للعمود 1.
الترتيب الافتراضي هو للصفوف. فلا حاجة لتعديل قيمة by_col.
الترتيب تنازلي, بالتالي [sort_order] = -1
الفرز وفقاً للعمود الأول, لذا تكون قيمة [sort_index] = 1 وهي افتراضياً = 1 لذا نتركها بدون قيمة.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | البيانات | النتيجة | |||||
| 2 | 11 | 10 | 3 | 11 | |||
| 3 | 5 | 6 | 7 | ||||
| 4 | 9 | 20 | 1 | ||||
الصيغة المستخدمة:
=SORT(A2:C4, , -1)
توضيح:
تقوم الدالة بترتيب صفوف المصفوفة وفقاً لترتيب العمود الأول تنازلياً.
لو أردنا القيام بنفس المهمة السابقة ولكن الترتيب أن يكون وفقاً للعمود 3, تكون الدالة وفقاً للصيغة =SORT(A2:C4, 3, -1). وتكون النتيجة:
| 5 | 6 | 7 |
| 11 | 10 | 3 |
| 9 | 20 | 1 |
المثال 3: ترتيب أعمدة مصفوفة تنازلياً وفقاً للصف 1.
الترتيب الافتراضي هو للصفوف. لذا لنقوم بترتيب الأعمدة نجعل by_col = TRUE.
الترتيب تنازلي, بالتالي [sort_order] = -1
الفرز وفقاً للصف الأول, لذا تكون قيمة [sort_index] = 1 وهي افتراضياً = 1 لذا نتركها بدون قيمة.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | البيانات | النتيجة | |||||
| 2 | 11 | 10 | 3 | 11 | |||
| 3 | 5 | 6 | 7 | ||||
| 4 | 9 | 20 | 1 | ||||
الصيغة المستخدمة:
=SORT(A2:C4, , -1, TRUE)
توضيح:
تقوم الدالة بترتيب أعمدة المصفوفة وفقاً لترتيب الصف الأول تنازلياً. وبما ان الصف الأول هو مرتب تنازياً بالأساس فلن تقوم الدالة بفعل شيء.
لو أردنا القيام بنفس المهمة السابقة ولكن الترتيب أن يكون وفقاً للصف 2, تكون الدالة وفقاً للصيغة =SORT(A2:C4, 2, -1, TRUE). وتكون النتيجة:
| 3 | 10 | 11 |
| 7 | 6 | 5 |
| 1 | 20 | 9 |